package com.example.zxd;

import java.util.Scanner;

/**
 * 斐波那契数列<p>
 * 描述：
 * 在数学上，斐波那契数列（Fibonacci Sequence），是以递归的方法来定义：<p>
 *
 * F0=0<p>
 * F1=1<p>
 * Fn=Fn−1+Fn−2<p>
 *
 * 用文字来说，就是斐波那契数列由0和1开始，之后的斐波那契数就由之前的两数相加。首几个斐波那契数是：
 *<p>
 * 0,1,1,2,3,5,8,13,21,34,55,89,144,⋯
 *<p>
 * 特别指出：0 不是第一项，而是第零项。
 *<p>
 * 在西方，最先研究这个数列的人是比萨的列奥纳多（又名斐波那契），他描述兔子生长的数目时用上了这数列。
 *<p>
 * 第一个月有一对刚诞生的兔子,第两个月之后它们可以生育,每月每对可生育的兔子会诞生下一对新兔子,兔子永
 * 不死去,假设在 n 月有新生及可生育的兔子总共 a 对，n + 1 月就总共有 b 对。在 n + 2 月必定总共有
 * a + b 对：因为在n+2月的时候，所有在n月就已存在的a对兔子皆已可以生育并诞下a对后代；同时在前一月(n+1
 * 月)之b对兔子中，在当月属于新诞生的兔子尚不能生育。<p>
 * 现请求出斐波那契数列第n项数值，0 ≤ n ≤ 40 。
 *<p>
 * 输入：
 * 一个整数，表示斐波那契数列项数n，0 ≤ n ≤ 40。
 *<p>
 * 输出：
 * 一个整数，表示斐波那契数列第 n 项数值。
 *<p>
 * 样例输入：<p>
 * 4<p>
 * 样例输出：<p>
 * 3
 * @author: scarborough
 * @datetime: 2025/3/19 - 16:01
 * @status: AC
 */
public class PROB1007 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        sc.close();

        long[] arr = new long[41];
        arr[0] = 0;
        arr[1] = 1;
        for (int i = 2; i <= n; i++) {
            arr[i] = arr[i - 1] + arr[i - 2];
        }
        System.out.println(arr[n]);
    }
}
